package com.briup.day16;

import java.util.HashMap;
import java.util.Map;

/**
 * 用户自定义异常类。必须是Exception的子类（编译）或间接子类（运行）
 * 表示程序中所有的业务异常
 * @author lining
 * @date 2024/1/28 11:20
 */
public class CustomerException extends RuntimeException{
    // integer:状态码 String 状态信息
    //所有的异常对象共享一个异常键值对
    private static Map<Integer,String> map;
    static{
        map = new HashMap<>();
        map.put(1,"密码为空");
        map.put(2,"用户名为空");
    }

    public CustomerException(Integer code){//code =1 表示密码错误
        super(map.get(code));
    }

    //属性+方法组成
    public CustomerException(String msg) {
        super(msg);//detailMessage = message;
    }
    public CustomerException(CustomerExceptionStatus status){
        //String detailMessage = Enum status.getMsg()
        super(status.getMsg());
    }

}
